package zjitc;

import java.util.Scanner;
interface Figure {
    public static final double PI =3.1415926; // 定全局常量,圆周率PI
    double calGirth(); 	        // 定义抽象方法calGirth()，用于计算周长，注意没写public也是公开权限的。
    public double calArea();    // 定义抽象方法calArea()，用于计算面积
}
interface Figure3D extends Figure{
    public double calVolumn();
}
class Circle{
    double x,y,r;//圆心坐标和半径
    public Circle(double x, double y, double r){
        this.x=x;
        this.y=y;
        this.r=r;
    }
}
class Cylinder extends Circle implements Figure3D{
    private double h;

    public Cylinder(double x, double y, double r,double h) {
        super(x, y, r);
        this.h=h;
    }

    @Override
    public double calGirth() {
        return 2*r*PI;
    }

    @Override
    public double calArea() {
        return 0;
    }

    @Override
    public double calVolumn() {
        return 0;
    }
}
class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        double x,y,r,h;
        int n;
        n = sc.nextInt();
        for (int i = 0; i < n; i++) {
            x = sc.nextDouble();
            y = sc.nextDouble();
            r = sc.nextDouble();
            h = sc.nextDouble();
            Cylinder c=new Cylinder(x,y,r,h);
            System.out.printf("%.6f %.6f %.6f\n",c.calGirth(),c.calArea(),c.calVolumn());
        }
    }
}


/*
有部分代码如下，亲根据输入样例和输出样例，补全代码。


import java.util.Scanner;
interface Figure {
    public static final double PI =3.1415926; // 定全局常量,圆周率PI
    double calGirth(); 	        // 定义抽象方法calGirth()，用于计算周长，注意没写public也是公开权限的。
    public double calArea();    // 定义抽象方法calArea()，用于计算面积
}
//补充定义接口Figure3D继承了接口Figure

//定义圆类Circle
class Circle{
    double x,y,r;//圆心坐标和半径
    public Circle(double x, double y, double r){
        this.x=x;
        this.y=y;
        this.r=r;
    }
}
//补充定义圆柱体类Cylinder继承圆类Circle，并且实现接口Figure

// 定义测试类
class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        double x,y,r,h;
        int n;
        n = sc.nextInt();
        for (int i = 0; i < n; i++) {
            x = sc.nextDouble();
            y = sc.nextDouble();
            r = sc.nextDouble();
            h = sc.nextDouble();
            Cylinder c=new Cylinder(x,y,r,h);
            System.out.printf("%.6f %.6f %.6f\n",c.calGirth(),c.calArea(),c.calVolumn());
        }
    }
}

输入描述

这是一个n组案例的题目。首先输入正整数n，表示此次测试案例有n个。然后每个测试中输入4个数字，
分别代表当前圆柱的底面圆心xy坐标和半径，以及圆柱的高。

用例输入 1

3
0 0 1 1
0 0 1 0
0 0 2 1
用例输出 1

6.283185 12.566370 3.141593
6.283185 6.283185 0.000000
12.566370 37.699111 12.566370
提示

每组案例输入完后，立即输出三个数字，数字之间由一个空格分开，每组输出最后都要换行。
 */